feat(frontend): Handle moved and split features#1826
Merged
jcscottiii merged 2 commits intomainfrom Sep 16, 2025
Merged
Conversation
This commit introduces the frontend implementation to handle API responses for features that have been moved (301) or split (410). This builds upon previous backend changes that enabled the API to return these status codes. On the client side: - For a 301 response, the feature page now performs a client-side redirect. It catches a `FeatureMovedError`, updates its state with the new feature's data from the response body, and uses `history.pushState` to update the URL. This provides a smooth user experience without a full page reload. A notice is also displayed to inform the user of the redirect. - For a 410 response, the feature page redirects to a dedicated "Feature Gone" page, which explains that the feature was split and provides the user with links to the new features. As this is a Single Page Application (SPA), the client-side fetch determines whether a redirect or a "gone" page is necessary. This approach is a trade-off for better UX within the SPA architecture. Unit and end-to-end tests have been added to cover these new scenarios.
f804fb0 to
e77ae2a
Compare
jrobbins
approved these changes
Sep 16, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This commit introduces the frontend implementation to handle API responses for features that have been moved (301) or split (410). This builds upon previous backend changes that enabled the API to return these status codes.
On the client side:
For a 301 response, the feature page now performs a client-side redirect. It catches a
FeatureMovedError, updates its state with the new feature's data from the response body, and useshistory.pushStateto update the URL. This provides a smooth user experience without a full page reload. A notice is also displayed to inform the user of the redirect.For a 410 response, the feature page redirects to a dedicated "Feature Gone" page, which explains that the feature was split and provides the user with links to the new features.
As this is a Single Page Application (SPA), the client-side fetch determines whether a redirect or a "gone" page is necessary. This approach is a trade-off for better UX within the SPA architecture.
Unit and end-to-end tests have been added to cover these new scenarios.